package kr.pe.johnkim.sendme.activity;

import java.util.ArrayList;
import java.util.List;

import kr.pe.johnkim.sendme.activity.SendMeSubSettingsProfileActivity.backgroundThreadSaveProfileUserName;
import kr.pe.johnkim.sendme.provider.SendMeBlockAdapter;
import kr.pe.johnkim.sendme.provider.SendMeCertification;
import kr.pe.johnkim.sendme.provider.SendMeInstall;
import kr.pe.johnkim.sendme.provider.SendMeLog;
import kr.pe.johnkim.sendme.provider.SendMeMember;
import kr.pe.johnkim.sendme.rest.SendMeCertificationRest;
import kr.pe.johnkim.sendme.rest.SendMeInstallRest;
import kr.pe.johnkim.sendme.rest.SendMeLogRest;
import kr.pe.johnkim.sendme.rest.SendMeMemberRest;
import kr.pe.johnkim.sendme.util.SendMeActivityManager;
import kr.pe.johnkim.sendme.util.SendMeCommon;
import kr.pe.johnkim.sendme.util.SendMeConstant;
import kr.pe.johnkim.sendme.util.SlidingDrawer;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.database.Cursor;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.ContactsContract;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ToggleButton;

public class SendMeSubSettingsServicePolicyActivity extends Activity {

	public static String TAG = SendMeSubSettingsServicePolicyActivity.class.getSimpleName();
	
	
	// 액티비티 매니저를 가져 온다.
	private SendMeActivityManager sendMeActivityManager = SendMeActivityManager.getInstance();
	
	ImageButton imageButtonTopBack;
	ImageButton imageButtonTopMainMenu;
	
	// 터치시 동작 처리 위함
	View termsLayout;					// 이용약관
	View privacy1Layout;				// 개인정보 보호정책
	View privacy2Layout;				// 개인정보수집 및 이용
	
//	// 사용자 휴대 전화번호.
//	private String PHONE_NUMBER = "";
	
//	// 로그를 남긴다
//	private static final int THREAD_REGISTER_LOG = 100;
//
//	// 화면에 설정값을 세팅한다.
//	private static final int THREAD_SET_SCREEN_WITH_PREFERENCE_DATE = 112;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		// 커스텀 타이블 바를 설정 한다.
		Window window = getWindow();
		window.requestFeature(Window.FEATURE_CUSTOM_TITLE);
				
		setContentView(R.layout.activity_send_me_sub_settings_service_policy);
		
		window.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar_03);
		
		// 액티비티 매니저에 담는다.
		sendMeActivityManager.addActivity(this);
		
//		// 설정파일을 가져 온다.
//		this.selectPreferenceMessageAlarmData();
		
		// 뒤로 가기 화살표 버튼을 설정 한다.
				imageButtonTopBack = (ImageButton)findViewById(R.id.imageButtonTopBack);
				imageButtonTopBack.setOnClickListener(new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub

						Intent intent = new Intent(returnThis(), SendMeSettingsActivity.class);
						startActivity(intent);
						
						// 화면을 닫는다.
						sendMeActivityManager.removeActivity(SendMeSubSettingsServicePolicyActivity.this);
						finish();
					}
				});

				// 타이틀바의 메인 메뉴 버튼을 설정 한다.
				imageButtonTopMainMenu = (ImageButton)findViewById(R.id.imageButtonTopMainMenu);
				imageButtonTopMainMenu.setOnClickListener(new OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						Log.i(TAG, "pressed top main menu.");

						// 메인 메뉴 화면을 출력 한다.
						Intent i = new Intent(SendMeSubSettingsServicePolicyActivity.this, SendMeMainMenuActivity.class);
						startActivity(i);
						
						// 화면을 닫는다.
						sendMeActivityManager.removeActivity(SendMeSubSettingsServicePolicyActivity.this);
						finish();
					}
				});
				
				
		/*
		 *  터치시 동작 처리
		 */
		// 이용약관
		termsLayout = findViewById(R.id.termsLayout);
		termsLayout.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				Intent webIntent = new Intent(returnThis(), SendMeWebViewActivity.class);
				webIntent.putExtra("loadingURL", SendMeConstant.TERMS_URL);	
				webIntent.putExtra("isGetMethod", "true");
				webIntent.putExtra("parentType", "servicePolicy");
				webIntent.putExtra("webViewTitle", "이용약관");		
				startActivity(webIntent);
				
				// 화면을 닫는다.
				sendMeActivityManager.removeActivity(SendMeSubSettingsServicePolicyActivity.this);
				finish();
			}
		});
		// 개인정보 보호정책
		privacy1Layout = findViewById(R.id.privacy1Layout);
		privacy1Layout.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				Intent webIntent = new Intent(returnThis(), SendMeWebViewActivity.class);
				webIntent.putExtra("loadingURL", SendMeConstant.PRIVATE_POLICY_URL );	
				webIntent.putExtra("isGetMethod", "true");
				webIntent.putExtra("parentType", "servicePolicy");
				webIntent.putExtra("webViewTitle", "개인정보 보호정책");		
				startActivity(webIntent);
				
				// 화면을 닫는다.
				sendMeActivityManager.removeActivity(SendMeSubSettingsServicePolicyActivity.this);
				finish();
			}
		});
		// 개인정보수집 및 이용
		privacy2Layout = findViewById(R.id.privacy2Layout);
		privacy2Layout.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				Intent webIntent = new Intent(returnThis(), SendMeWebViewActivity.class);
				webIntent.putExtra("loadingURL", SendMeConstant.PRIVATE_POLICY_URL2 );		
				webIntent.putExtra("isGetMethod", "true");
				webIntent.putExtra("parentType", "servicePolicy");
				webIntent.putExtra("webViewTitle", "개인정보수집 및 이용");		
				startActivity(webIntent);
				
				// 화면을 닫는다.
				sendMeActivityManager.removeActivity(SendMeSubSettingsServicePolicyActivity.this);
				finish();
			}
		});
		

				
//		// 로깅.
//		mHandler.sendMessage(mHandler.obtainMessage(THREAD_REGISTER_LOG));
//		
//		// 세팅한다.
//		mHandler.sendMessage(mHandler.obtainMessage(THREAD_SET_SCREEN_WITH_PREFERENCE_DATE));
		
	}


	
	


	
	/**
	 * Handler 를 정의 한다.
	 * 모든 Thread 를 등록해 놓고 호출 한다.
	 */
	private Handler mHandler = new Handler() {
		@Override
		public void handleMessage(Message msg) {
//			switch(msg.what) {
//			
////			// 로그를 남긴다
////			case THREAD_REGISTER_LOG : 
////				threadRegisterLog();
////				break;
//				
//			// 화면에 설정 값을 세팅한다.
//			case THREAD_SET_SCREEN_WITH_PREFERENCE_DATE:
////				setPreferenceDataToScreen();
//				runOnUiThread(setPreferenceDataToScreenOnUiThread);
//				break;
//
//			}
		}
	};

	
	
	public Context returnThis(){
		return this;
	}
	
	
	
	
//	/**
//	 * 로그를 남긴다	 
//	 */
//	public void threadRegisterLog() {
//		Thread thread = new Thread(new Runnable() {
//			public void run() {
//				
//				SendMeCommon sendMeCommon = new SendMeCommon();
//				String nowTime = sendMeCommon.getCurrentDate();
//				
//				SendMeLog sendMeLog = new SendMeLog();
//				sendMeLog.setPhoneNumber(PHONE_NUMBER);
//				sendMeLog.setViewName(TAG);
//				sendMeLog.setRegisterDate(nowTime);
//				
//				SendMeLogRest sendMeLogRest = new SendMeLogRest();
//				
//				sendMeLogRest.registerLog(sendMeLog);
//			}
//		});
//		thread.start();
//	}
	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// 사용자 알림
	
//	/**
//	 * 정보 저장에 성공했다는 toast 를 띄운다.
//	 */
//	public void showToastSuccessSaveInfo() {
//		CharSequence text = "변경사항이 저장되었습니다.";
//		Toast toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT);
//		toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0);
//		toast.show();
//	}
//	/**
//	 * 정보 저장에 실패했다는 toast 를 띄운다.
//	 */
//	public void showToastFailSaveInfo() {
//		CharSequence text = "저장이 실패했습니다.";
//		Toast toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT);
//		toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0);
//		toast.show();
//	}
	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 닫기 관련
	/*
	 * 종료한다
	 */
	public void finishActivity(){
		sendMeActivityManager.removeActivity(SendMeSubSettingsServicePolicyActivity.this);
		finish();
	}
//	/**
//	 * 뒤로 가기 버튼을 정의 한다.
//	 * 설치단계이기 때문에 뒤로가기 버튼을 터치하면 앱을 종료 한다.
//	 */
	@Override
	public void onBackPressed() {
		// TODO Auto-generated method stub
		Intent intent = new Intent(returnThis(), SendMeSettingsActivity.class);
		startActivity(intent);
		
		// 화면을 닫는다.
		sendMeActivityManager.removeActivity(SendMeSubSettingsServicePolicyActivity.this);
		finish();
	}
//	
//	/**
//	 * 뒤로가기 버튼을 터치하면 alert 창을 띄우고 앱을 종료한다.
//	 */
//	private void showDialogSystemExit() {
//		new AlertDialog.Builder(SendMeSubSettingsMessageAlramActivity.this)
//		.setTitle("프로그램 종료")
//		.setMessage("SendMe 를 종료하시겠습니까?")
//		.setNegativeButton("취소", new DialogInterface.OnClickListener() {
//
//			@Override
//			public void onClick(DialogInterface dialog, int which) {
//
//			}
//		})
//		.setPositiveButton("확인", new DialogInterface.OnClickListener() {
//			
//			@Override
//			public void onClick(DialogInterface dialog, int which) {
//				// TODO Auto-generated method stub
//				sendMeActivityManager.finishAllActivity();
//			}
//		}).show();
//	}
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// preference 
//	/**
//	 * SharedPreference 정보를 확인 한다.
//	 */
//	public void selectPreferenceMessageAlarmData() {
//		SharedPreferences mSharedPreference = getSharedPreferences(SendMeConstant.SENDME_PREFERENCE, Activity.MODE_PRIVATE);
//		
//		PHONE_NUMBER = mSharedPreference.getString("phone_number", "");
//		isToggleButtonMessageReceiveOn = mSharedPreference.getBoolean("setting_message_receive_on", true);
//		masterPassword = mSharedPreference.getString("master_password", "");  
//		
////		isToggleButtonMessagePopUpOn  = mSharedPreference.getBoolean("setting_message_popup_on", true);
////		checkedRadioGroupMessageAlarmMethod  = mSharedPreference.getInt("setting_message_alarm_method", 2);
////		checkedRadioGroupMessageAlarmMethodSound  = mSharedPreference.getInt("setting_message_alarm_method_sound", 1);
//	}
//	/**
//	 * 설정파일에 저장한다
//	 */
//	public void savePreferenceMessageAlarmData() {
//		try{
//			SharedPreferences sharedPreferences = getSharedPreferences(SendMeConstant.SENDME_PREFERENCE, Activity.MODE_PRIVATE);
//			SharedPreferences.Editor editor = sharedPreferences.edit();
//			editor.putBoolean("setting_message_receive_on", isToggleButtonMessageReceiveOn);
//			editor.putBoolean("setting_message_popup_on", isToggleButtonMessagePopUpOn);
//			editor.putInt("setting_message_alarm_method", checkedRadioGroupMessageAlarmMethod);
//			editor.putInt("setting_message_alarm_method_sound", checkedRadioGroupMessageAlarmMethodSound);
//			editor.commit();
//			mHandler.sendMessage(mHandler.obtainMessage(THREAD_SUCCESS_SAVE_INFO));
//			finishActivity();
//		}catch(Exception e){
//			mHandler.sendMessage(mHandler.obtainMessage(THREAD_FAIL_SAVE_INFO));
//		}
//	}

	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	@Override
	public void onResume(){
		super.onResume();
		
//		// 설정파일을 가져 온다.
//		this.selectPreferenceMessageAlarmData();
//		
//		// 버전 정보 화면에 세팅
//		try {
//			packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
//			nowVerion = packageInfo.versionName;
//			versionInfoTxt.setText(nowVerion);
//		} catch (NameNotFoundException e) {
//			e.printStackTrace();
//		}
//		// 메시지 수신 여부 화면에 세팅
//		if(isToggleButtonMessageReceiveOn){
//			messageOnOffTxt.setText("ON");
//		}else{
//			messageOnOffTxt.setText("OFF");
//		}
//		// 암호 설정 여부 화면에 세팅
//		if(masterPassword.length()>0){
//			passwordOnOffTxt = (TextView) findViewById(R.id.passwordOnOffTxt);
//		}else{
//			passwordOnOffTxt.setText("OFF");
//		}
	}
	
}
